import request from '../../utils/request'
const apiHeader = 'apiManage'

// 查询项目分组信息（包含登录用户的成员类型）
export function selectProjectGroupAndMemberType(groupId) {
  return request({
    url: `${apiHeader}/ApiProjectInfo/selectProjectGroupAndMemberType?groupId=${groupId}`,
    method: 'post',
    data: {}
  })
}
// 查询列表
export function selectListByGroupId(data, groupId) {
  return request({
    url: `${apiHeader}/ApiProjectInfo/selectListByGroupId?groupId=${groupId}`,
    method: 'post',
    data: data
  })
}
// 查询项目信息（包含登录用户的成员类型）
export function selectProjectAndMemberType(projectId) {
  return request({
    url: `${apiHeader}/ApiProjectInfo/selectProjectAndMemberType?id=${projectId}`,
    method: 'post',
    data: {}
  })
}
// 新增分组
export function insertGroup(data) {
  return request({
    url: `${apiHeader}/ApiProjectGroup`,
    method: 'post',
    data: data
  })
}
// 编辑分组
export function updateGroup(data, id) {
  return request({
    url: `${apiHeader}/ApiProjectGroup/` + id,
    method: 'put',
    data: data
  })
}
// 查询分组
export function selectGroup(id) {
  return request({
    url: `${apiHeader}/ApiProjectGroup/` + id,
    method: 'get'
  })
}

// 查询分组（属性结构）
export function selectGroupTreeByParentId(data = {}, parentId) {
  return request({
    url: `${apiHeader}/ApiProjectGroup/treeSelectByParentId?parentId=` + parentId,
    method: 'post',
    data: data
  })
}

// 新建项目
export function insertProject(data) {
  return request({
    url: `${apiHeader}/ApiProjectInfo`,
    method: 'post',
    data: data
  })
}
// 新建项目
export function updateProject(data, id) {
  return request({
    url: `${apiHeader}/ApiProjectInfo/` + id,
    method: 'put',
    data: data
  })
}
// 查询分组
export function selectProject(id) {
  return request({
    url: `${apiHeader}/ApiProjectInfo/` + id,
    method: 'get'
  })
}

// 移动项目分组和项目（更改状态，批量）
export function moveProjectAndGroup(data) {
  return request({
    url: `${apiHeader}/ApiProjectInfo/projectAndGroupMoveByBatch`,
    method: 'post',
    data: data
  })
}

// 更新项目归档个状态
export function updateIsArchive(data) {
  return request({
    url: `${apiHeader}/ApiProjectInfo/updateIsArchiveByBatch`,
    method: 'post',
    data: data
  })
}

// 复制项目
export function copyProject(data) {
  return request({
    url: `${apiHeader}/ApiProjectInfo/copyProject`,
    method: 'post',
    data: data
  })
}

// 删除项目分组和项目（更改状态）
export function deleteGroupAndProject(data) {
  return request({
    url: `${apiHeader}/ApiProjectInfo/deleteAndGroupByBatch`,
    method: 'delete',
    data: data
  })
}

// 删除项目分组和项目（物理删除）
export function deleteForceAndGroupByBatch(data) {
  return request({
    url: `${apiHeader}/ApiProjectInfo/deleteForceAndGroupByBatch`,
    method: 'delete',
    data: data
  })
}
